import openpyxl
import os

def modify_excel_files(folder_path):
    # 检查文件夹是否存在
    if not os.path.exists(folder_path):
        print(f'错误：文件夹 {folder_path} 不存在')
        return

    # 获取文件夹中的所有Excel文件
    excel_files = [f for f in os.listdir(folder_path) if f.endswith('.xlsx')]
    
    if not excel_files:
        print(f'警告：在 {folder_path} 中没有找到Excel文件')
        return
    
    for file in excel_files:
        try:
            file_path = os.path.join(folder_path, file)
            
            # 读取Excel文件
            wb = openpyxl.load_workbook(file_path)
            
            # 遍历所有工作表
            for sheet in wb.worksheets:
                # 遍历所有单元格
                for row in sheet.iter_rows():
                    for cell in row:
                        # 转换所有类型的值为字符串并进行替换
                        if cell.value is not None:
                            # 将任何类型的值转换为字符串
                            str_value = str(cell.value)
                            if '111' in str_value:
                                cell.value = str_value.replace('111', '哈哈哈')
                                print(f'在文件 {file} 中找到并替换了 "111"')
            
            # 创建输出文件夹（如果不存在）
            output_folder = os.path.join(folder_path, 'modified')
            os.makedirs(output_folder, exist_ok=True)
            
            # 保存修改后的文件
            output_path = os.path.join(output_folder, f'modified_{file}')
            wb.save(output_path)
            print(f'已成功处理文件: {file}')
            
        except Exception as e:
            print(f'处理文件 {file} 时出错: {str(e)}')

if __name__ == '__main__':
    folder_path = './result'  # 请替换为实际路径
    modify_excel_files(folder_path) 